package conf

import (
	"encoding/json"
	"io/ioutil"
	"log"
	"sync"
	"time"
)

type Config struct {

	// ChatGPT api_key
	ApiKey string `json:"api_key"`

	// 自动添加好友
	AutoPass bool `json:"auto_pass"`

	// 会话超时时长
	SessionTimeout time.Duration `json:"session_timeout"`
}

var (
	config *Config
	once   sync.Once
)

func GetConfig() *Config {
	once.Do(func() {
		config = &Config{}

		data, err := ioutil.ReadFile("config.json")
		if err != nil {
			log.Printf("read config file error : %v", err)
		}

		err = json.Unmarshal(data, config)
		if err != nil {
			log.Printf("unmarshal config file error : %v", err)
		}
	})

	return config
}
